// 核心代码模式
class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        if (rotateArray.size() == 0)  return 0;
        // Python用多了都忘了C++d的if后面有括号没有:，语句结尾有;
        int l = 0;
        int r = rotateArray.size()-1;

        while (l<r){
            int mid = l+(r-l)/2;
            //中比右小 最小值在左边  右等于中，防止遗漏
            if (rotateArray[mid]<rotateArray[r]) r=mid;
            //中比右大 最小值在右边  左等于中+1
            else if (rotateArray[mid]>rotateArray[r])  l=mid+1;
            //相等不知道，右边左移一位
            else r--;
        }
        return rotateArray[l];

    }
};